package edu.zueb.sport.enums;

import lombok.Getter;

/**
 * 表示出借状态的枚举。
 */
@Getter
public enum BorrowStatusEnum {

    /**
     * 待审批状态。
     */
    PENDING(0, "待审批"),

    /**
     * 已批准状态。
     */
    APPROVED(1, "已批准"),

    /**
     * 已拒绝状态。
     */
    REJECTED(2, "已拒绝"),

    /**
     * 已归还状态。
     */
    RETURNED(3, "已归还"),
    ;

    /**
     * -- GETTER --
     *  获取出借状态的值。
     *
     * @return 出借状态的值
     */
    private final Integer value;

    /**
     * -- GETTER --
     *  获取出借状态的标签。
     *
     * @return 出借状态的标签
     */
    private final String label;

    /**
     * 构造函数，用于初始化出借状态的值和标签。
     *
     * @param value 出借状态的值
     * @param label 出借状态的标签
     */
    BorrowStatusEnum(Integer value, String label) {
        this.value = value;
        this.label = label;
    }

    /**
     * 检查给定的值是否匹配当前枚举项的值。
     *
     * @param value 要检查的值
     * @return 如果匹配则返回 true，否则返回 false
     */
    public boolean match(Integer value) {
        return this.value.equals(value);
    }
}
